#include <iostream>
#include <string>
#include <vector>
using namespace std;
int dp(const string &str)
{
	vector<int> iv(str.size()+1, 1);
	for(int i=1;i<str.size();++i)
	{
		if (str[i] == '0' )
		{
			if (i == 1)
				iv[i] = 1;
			else
				iv[i] = iv[i - 2];
			continue;
		}
		iv[i] = iv[i - 1];
		int num = (str[i-1] - '0') * 10 + str[i] - '0';
		if(num>=10&& num<=26)
		{
			if (i == 1)
				iv[i] += 1;
			else
			{
				iv[i] += iv[i - 2];
			}
		}
	}
	return iv[str.size() - 1];
}
int main()
{
	string str;
	while(cin>>str)
	{
		if(str=="0")
			break;
		cout << dp(str) << endl;
	}

	return 0;
}